import axios from 'axios';
import { ElMessage } from 'element-plus';

// 创建 Axios 实例
const axiosInstance = axios.create({
    baseURL: '/api', // 设置基础 URL，这里假设你的代理将请求转发到了 '/api' 路径下
    timeout: 10000 // 设置请求超时时间
});

// 添加请求拦截器
axiosInstance.interceptors.request.use(
    config => {
        // 在请求发送前可以修改 config
        // 例如，你可以添加请求头或处理认证信息
        let userInfo = JSON.parse(sessionStorage.getItem('userInfo'))
        if (userInfo) {
            const token = userInfo.token
            if (token) {
                config.headers.Authorization = token; // 在请求头中添加 token
            }
        }
        return config;
    },
    error => {
        // 对请求错误做些什么
        return ElMessage.error(error.response.data.message);
    }
);

// 添加响应拦截器
axiosInstance.interceptors.response.use(
    response => {
        // 对响应数据做些什么
        return response;
    },
    error => {
        if(error.response.status === 404) {
            return ElMessage.error('/404');
        } else {
            return ElMessage.error(error.response.data.message);
        }
    }
);

export default axiosInstance;